package com.ionehe.group.common.uaa.ex.convert;

import com.ionehe.group.common.uaa.ex.model.UaaLoginInfo;
import com.ionehe.group.common.uaa.ex.model.UaaUserInfo;
import com.ionehe.group.common.uaa.ex.dto.LoginInfoDTO;
import com.ionehe.group.common.uaa.ex.dto.UserInfoAddDTO;
import com.ionehe.group.common.uaa.ex.dto.UserInfoDTO;
import com.ionehe.group.common.uaa.ex.dto.UserInfoUpdateDTO;
import org.mapstruct.Mapper;

import java.time.LocalDateTime;
import java.time.ZoneId;
import java.util.Date;
import java.util.List;

/**
 * @USER:秀
 * @DATE: 2020/11/30
 * @PROJECT_NAME: general-permissions
 * @Description 用户转换类
 **/
@Mapper(componentModel = "spring", imports = {LocalDateTime.class, Date.class, ZoneId.class})//交给spring管理
public interface UserInfoConvert {

    UserInfoDTO do2dto(UaaUserInfo userInfo);

    UaaUserInfo dto2do(UserInfoDTO userInfoDTO);

    List<UserInfoDTO> doList2dtoList(List<UaaUserInfo> userInfoList);

    UaaUserInfo dto2do(UserInfoAddDTO userInfoAddDTO);

    UaaLoginInfo dto2do(LoginInfoDTO loginInfoDTO);

    UaaUserInfo dto2do(UserInfoUpdateDTO userInfoUpdateDTO);

    LoginInfoDTO do2dto(UaaLoginInfo loginInfo);

}
